package cn.wzy.exception.ass;

import cn.wzy.exception.code.ErrorCode;
import cn.wzy.exception.exception.GlobalException;
import org.apache.commons.lang3.StringUtils;

import java.util.List;

public class ValidUtils {
    /**
     * 断言为blank,不为blank就报错
     * @param str
     * @param message
     */
    public static void isBlank(String str,String  message){

        if (!StringUtils.isBlank(str))
            throw new GlobalException(message);
    }

    /**
     * 支持错误码
     * @param str
     * @param code
     */
    public static void isBlank(String str, ErrorCode code){

        if (!StringUtils.isBlank(str))
            throw new GlobalException(code.getMessage(),code.getCode());
    }


    /**
     * 断言为不为blank,为blank就报错
     * @param str
     * @param message
     */
    public static void isNotBlank(String str,String  message){
        if (StringUtils.isBlank(str))
            throw new GlobalException(message);
    }
    public static void isNotBlank(String str,ErrorCode code){
        if (StringUtils.isBlank(str))
            throw new GlobalException(code.getMessage(),code.getCode());
    }


    /**
     * 断言不为null
     * @param objects
     * @param message
     */
    public static void isNotEmpty(List<?> objects, String  message){
        if (objects==null || objects.size()<1)
            throw new GlobalException(message);
    }
    public static void isNotEmpty(List<?> objects, ErrorCode code){
        if (objects==null || objects.size()<1)
            throw new GlobalException(code.getMessage(),code.getCode());
    }

    /**
     * 断言为null
     * @param objects
     * @param message
     */
    public static void isEmpty(List<?> objects, String  message){
        if (!(objects==null || objects.size()==0))
            throw new GlobalException(message);
    }

    /**
     * 断言为null
     * @param objects
     * @param errorCode
     */
    public static void isEmpty(List<?> objects, ErrorCode errorCode){
        if (!(objects==null || objects.size()==0))
            throw new GlobalException(errorCode.getMessage(),errorCode.getCode());
    }

}
